package com.whynot.frame.designMode.observe.base;

import java.util.Vector;

public abstract class Subject {

	/**
	 * 定义观察者集合
	 */
	private Vector<Observer> observers = new Vector<Observer>();
	
	/**
	 * 新增一个观察者
	 * @param observer
	 */
	public void addObserver(Observer observer){
		this.observers.add(observer);
	}
	
	/**
	 * 移除一个观察者
	 * @param observer
	 */
	public void removeObserver(Observer observer){
		this.observers.remove(observer);
	} 
	
	/**
	 * 通知所有观察者
	 */
	
	public void notifyObservers(){
		for (Observer o : observers) {
			o.update();
		}
	} 
}
